
package com.xzq.erp.domain.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;


@Data
@Accessors(chain = true)
public class ProductVO {

    /**
     * 商品ID
     */
    private Long id;

    /**
     * 商品名称
     */
    private String name;

    /**
     * 分类ID
     */
    private Long categoryId;

    /**
     * 分类名称
     */
    private String categoryName;

    /**
     * 分类父级ID
     */
    private Long categoryParentId;

    /**
     * 父级分类名称
     */
    private String categoryParentName;

    /**
     * 品牌ID
     */
    private Long brandId;

    /**
     * 品牌名称
     */
    private String brandName;

    /**
     * 供应商ID
     */
    private Long supplierId;

    /**
     * 供应商名称
     */
    private String supplierName;

    /**
     * 计量单位ID
     */
    private Long unitId;

    /**
     * 计量单位名称
     */
    private String unitName;

    /**
     * 产地ID
     */
    private Long originId;

    /**
     * 产地名称
     */
    private String originName;

    /**
     * 仓库ID集合
     */
    private List<Long> warehouseId;

    /**
     * 颜色
     */
    private String color;

    /**
     * 商品主图
     */
    private String image;

    /**
     * 商品相册(JSON数组)
     */
    private String album;

    /**
     * 进价
     */
    private BigDecimal purchasePrice;

    /**
     * 售价
     */
    private BigDecimal sellingPrice;

    /**
     * 会员价
     */
    private BigDecimal memberPrice;

    /**
     * 库存数量
     */
    private Integer stock;

    /**
     * 商品描述
     */
    private String description;

    /**
     * 生产日期
     */
    private LocalDate productionDate;

    /**
     * 保质期
     */
    private LocalDate shelfLife;

    /**
     * 状态(0:下架 1:上架)
     */
    private Boolean status;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

}
